package com.marvels.approve.credit.dao;

import java.util.List;
import java.util.Map;

import com.marvels.approve.credit.dto.CreditExcelDTO;
import com.marvels.approve.credit.dto.McamAttachmentInfoDTO;
import com.marvels.approve.loan.dto.McamLoanApplyInfoDTO;
import com.marvels.approve.process.dto.LoanApplyCaseDTO;
import com.marvels.approve.process.dto.ScreenshotsDTO;

public interface CreditDao {
	/**
	 * 获取征信阶段单子列表
	 * @param dto
	 * @return
	 */
	public List<LoanApplyCaseDTO> getCreditList(LoanApplyCaseDTO dto);
	
	/**
	 * 征信否决
	 * @param param
	 */
	public void vetoCase(LoanApplyCaseDTO param);
	
	/**
	 * 征信录入退回
	 * @param param
	 */
	public void chargeBack(McamLoanApplyInfoDTO param);
	
	/**
	 * 查询待取件数量
	 * @param param
	 * @return
	 */
	public Integer getWaitForDealCount(LoanApplyCaseDTO param);
	
	
	/**
	 * 查询已完成征信审核的单子
	 * @param param
	 * @return
	 */
	public List<LoanApplyCaseDTO> getApproveFinishList(LoanApplyCaseDTO param);
	/**
	 * 查询保单表集合，判断 是否已经截屏
	 * @param loanId
	 * @return
	 */
	public List<Map<String, String>> getMoanInsurancePolicyInfo(String loanId);
	
	public List<Map<String,Object>>  queryCreditExcel(CreditExcelDTO param);
	/**
	 * 保单 截屏数据
	 * @param param
	 * @return
	 */
	public List<ScreenshotsDTO> getScreenshotsList(ScreenshotsDTO param);
	/**
	 * 保单修改保单表状态
	 */
	public void updateMoanInsurancePolicyInfo(ScreenshotsDTO param);
	/**
	 * 保单截屏退单，修改进件表状态
	 * @param param
	 */
	public void udpateLoanApplyInfo(ScreenshotsDTO param);
	

	/**
	 * 保存时先查有没有截屏数据
	 * @param param
	 * @return
	 */
	public ScreenshotsDTO selertMoanInsurancePolicyInfo(ScreenshotsDTO param);
	/**
	 * 保单截屏路径入库
	 * @param screenshotsDTO
	 * @return
	 */
	public int savaScreenshotsData(ScreenshotsDTO screenshotsDTO);
	
	/**条件查询流程信息
	 * @param loanApplyCaseDTO
	 * @return
	 */
	public List<com.marvels.approve.process.dto.LoanApplyCaseDTO> selectCreditList(LoanApplyCaseDTO loanApplyCaseDTO);
	/**
	 * 查看合同
	 * @param loandId
	 * @return
	 */
	public List<McamAttachmentInfoDTO> queryContract(Map map);

}
